home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / byt86jun.arc / MIDI.ARC / LIST2.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1986-02-18  |  1.6 KB  |  56 lines

  1.  
  2. type
  3.   hex_str = string[2];     { Result of byte-->hex conversion }
  4.   track_event_type =        { MPU-401 Track event type }
  5.     (
  6.     OVFL,                 { Timing Overflow }
  7.     MARK,                    { MPU mark }
  8.     MIDI,         { MIDI using curr. running status }
  9.     MIDI_RS,         { MIDI setting new running status }
  10.     UNKNOWN               { Undefined track event }
  11.     );
  12.   track_event =               { Single track event }
  13.     record
  14.       time : byte;             { Event relative time }
  15.       mess : array[1..3] of byte;     { Event directive }
  16.     end;
  17.   track_event_block =      { Track event access environment }
  18.     record
  19.       running_status : byte;{ Current track running status }
  20.       event_len : 1..4;{Event length,including timing byte }
  21.       event_type : track_event_type;
  22.       event : track_event;
  23.     end;
  24.   track_data_stream =    { In memory track data stream file }
  25.     array[1..TRACK_DATAFILE_SIZE] of byte;
  26.   track_data_block ={ track data stream access environment }
  27.     record
  28.       tds : track_data_stream;              { track data }
  29.                  { track data read pointer } 
  30.       tds_ptr : 1..TRACK_DATAFILE_SIZE; 
  31.       edat : boolean;         { indicates end of track data }
  32.       curr : track_event_block;      { current track event }
  33.     end;
  34.  
  35. const
  36.  
  37.                { Track overflow event constant }
  38.   OVFL_EVENT : track_event_block =  
  39.     (               { used to insert timing spacers }
  40.     running_status:0;          { into Track Data Stream }
  41.     event_len:1;
  42.     event_type:OVFL;
  43.     event:
  44.       (
  45.       time:MAX_TIMING_COUNT;
  46.       mess:(0,0,0)
  47.       )
  48.     );
  49.  
  50.  event_len:1;
  51.     event_type:OVFL;
  52.     event:
  53.       (
  54.       time:MAX_TIMING_COUNT;
  55.       mess:(0,0,0)
  56.